Rubyconf 2011 Writing Solid Ruby Code By Jim Weirich